﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid;
using System.Collections;
namespace ServiceOTOForm
{
    public partial class THONGTINHNHACUNGCAP : DevExpress.XtraEditors.XtraForm
    {
        public THONGTINHNHACUNGCAP()
        {
            InitializeComponent();
        }
        private int TT = 0;
        private OTOSW.DataIn dti = new OTOSW.DataIn();   
        private OTOSW.NHACUNGCAP_ENTITY NCCEntity = new OTOSW.NHACUNGCAP_ENTITY();
        private void THONGTINHNHACUNGCAP_Load(object sender, System.EventArgs e)
        {
            LoadDanhSachNCC();
            Get_ValueGridV1(); 
            gridView1.CloseEditor();
        }

        private void LoadDanhSachNCC()
        {

            try
            {

                DataSet ds = new DataSet();
                ds = dti.DanhSachNhaCC(NCCEntity);
                gridControl1.DataSource = ds.Tables[0];



            }
            catch
            {

            }
        }
        private void LoadTTNHACC(string MANCC)
        {
            try
            {


                NCCEntity.MANCC = MANCC;
                DataSet ds = new DataSet();
                ds = dti.DanhSachNhaCC(NCCEntity);
                gridControl1.DataSource = ds.Tables[0];


            }
            catch
            {

            }
        }
        private void XoaRong()
        {
            txtMaNCC.Text = "";
            txtTenNCC.Text = "";
           // cboQuocGia.SelectedText = "";
            txtDiaChi.Text = "";
            txtEmail.Text = "";
            txtWebSite.Text = "";
            txtMaSoThue.Text = "";
            txtDT.Text = "";
            txtMaNCC.Properties.ReadOnly = false;
        }
        //==kiem tra trung mancc
        public Hashtable HashListMAXE()
        {

            Hashtable ht = new Hashtable();

            DataSet ds = dti.Check_MaNCC(NCCEntity);
            if (ds.Tables[0].Rows.Count > 0)
            {
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    ht.Add(dr["MANCC"], dr["TENNCC"]);
                }
            }
            return ht;
        }
        //======
        private void LuuThongTinNCC()
        {
            if (TT == 1)
            {
                Hashtable hs = HashListMAXE();
                if (hs.ContainsKey(txtMaNCC.Text))
                {
                    MessageBox.Show("Mã NCC đã tồn tại", "Thông Báo", MessageBoxButtons.OK);
                    return;
                }
            }
            if (!dxValidationProvider1.Validate()) return;
            {
                NCCEntity.MANCC = txtMaNCC.Text;
                NCCEntity.TENNCC = txtTenNCC.Text;
                NCCEntity.DIACHI = txtDiaChi.Text;
                NCCEntity.DIENTHOAI = txtDT.Text;
                NCCEntity.EMAIL = txtEmail.Text;
                NCCEntity.WEBSITE = txtWebSite.Text;
                NCCEntity.MASOTHUE = txtMaSoThue.Text;
              
                if (TT == 1)//THEM
                {
                    try
                    {

                        dti.LuuThongTinNCC(NCCEntity);
                        MessageBox.Show("Thêm thành công Nhà Cung Cấp" + txtTenNCC.Text, "Thông báo", MessageBoxButtons.OK);
                        ActiveButton(false);
                        LoadDanhSachNCC();
                    }
                    catch
                    {
                        MessageBox.Show("Xảy ra lỗi khi thêm Nhà Cung Cấp " + txtTenNCC.Text, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    try
                    {
                        dti.LuuThongTinNCC(NCCEntity);
                        MessageBox.Show("Cập nhật thành công Nhà Cung Cấp " + txtTenNCC.Text, "Thông báo", MessageBoxButtons.OK);
                        ActiveButton(false);
                        LoadDanhSachNCC();
                    }
                    catch
                    {
                        MessageBox.Show("Xảy ra lỗi khi cập nhật Nhà Cung Cấp " + txtTenNCC.Text, "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }

                XoaRong();
                TT = 0;
               Get_ValueGridV1();;

            }
        }
        private void ActiveButton(bool flag)
        {

            btLuu.Enabled = flag;
            btHuy.Enabled = flag;
            btThem.Enabled = !flag;
            btSua.Enabled = !flag;
            btXoa.Enabled = !flag;

        }

    //    private bool KiemTraNhapLieu()
      //  {
            //if (txtMaNCC.Text.Length == 0)
            //{
            //    MessageBox.Show("Phải nhập mã NCC xe", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            //    return false;
            //}
            //if (txtTenNCC.Text.Length == 0)
            //{
            //    MessageBox.Show("Phải nhập tên NCC xe", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            //    return false;
            //}
            //if (txtDiaChi.Text.Length == 0)
            //{
            //    MessageBox.Show("Phải nhập thông tin địa chỉ nhà CC", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            //    return false;
            //}

           
            //return true;
   //     }

        private void btLuu_Click(object sender, System.EventArgs e)
        {
            try
            {
                LuuThongTinNCC();

            }
            catch
            {

            }
        }

        private void btThem_Click(object sender, System.EventArgs e)
        {
            //if (!dxValidationProvider1.Validate()) return;
            XoaRong();
            TT = 1;
            ActiveButton(true);
        }

        private void btSua_Click(object sender, System.EventArgs e)
        {
            TT = 2;
            txtMaNCC.Properties.ReadOnly = true;
            ActiveButton(true);
        }

        private void btHuy_Click(object sender, System.EventArgs e)
        {
            try
            {
                XoaRong();
                 Get_ValueGridV1();
                ActiveButton(false);
            }
            catch
            {

            }
        }

        private void btXoa_Click(object sender, System.EventArgs e)
        {
            NCCEntity.MANCC = txtMaNCC.Text;
            try
            {
                if (MessageBox.Show("Bạn có muốn xoá Nhà Cung Cấp " + txtMaNCC.Text + " không ?", "Xác nhận", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    dti.XoaThongTinNhaCC(NCCEntity);
                    MessageBox.Show("Xoá thành công Nhà Cung Cấp " + txtMaNCC.Text, "Thông báo", MessageBoxButtons.OK);
                    XoaRong();
                    LoadDanhSachNCC();
                    Get_ValueGridV1();//============
                }
            }
            catch
            {

            }
        }

        private void Get_ValueGridV1()
        {
            NCCEntity.MANCC = gridView1.GetFocusedRowCellValue("MANCC").ToString();
            txtMaNCC.Text = gridView1.GetFocusedRowCellValue("MANCC").ToString();
            txtTenNCC.Text = gridView1.GetFocusedRowCellValue("TENNCC").ToString();
            txtDiaChi.Text = gridView1.GetFocusedRowCellValue("DIACHI").ToString();
            txtDT.Text = gridView1.GetFocusedRowCellValue("DIENTHOAI").ToString();
            txtEmail.Text = gridView1.GetFocusedRowCellValue("EMAIL").ToString();
            txtWebSite.Text = gridView1.GetFocusedRowCellValue("WEBSITE").ToString();
            txtMaSoThue.Text = gridView1.GetFocusedRowCellValue("MASOTHUE").ToString();
 
        }
        private void gridView1_Click(object sender, EventArgs e)
        {
            try
            {
                if(TT==0)
                {

                    Get_ValueGridV1();
                }
            }
            catch(Exception ex)

            {
                throw new Exception(ex.ToString());
            }
            
        }

        private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        {
            try
            {
                if (TT == 0)
                {

                    Get_ValueGridV1();
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.ToString());
            }
        }
    }
}